package org.openstack.api.meter;

import org.openstack4j.model.telemetry.Meter;

import java.util.List;

/**
 * Meter是 ceilometer 定义的监控项，诸如内存占用，网络IO，磁盘IO等等.
 * <p>
 * Created by jiyun on 2017/8/28.
 */
public interface MeterService {

    /**
     * 获取所有监控指标
     *
     * @return 监控指标列表
     */
    List<? extends Meter> getMeterList();

    /**
     * 通过监控指标名称获取所有监控指标
     *
     * @param meterName 监控指标名称
     * @return 监控指标列表
     */
    List<? extends Meter> getMeterListByName(String meterName);

    /**
     * 通过资源ID获取对应的监控指标列表
     *
     * @param resourceId 资源ID
     * @return 监控指标列表
     */
    List<? extends Meter> getMeterListByResourceId(String resourceId);

}
